$(document).ready(function() {
    
    //Ubica el foco en el campo 'Código'
    $("#codigo").focus();
    
    //Verifica si se ha presionado la tecla 'ENTER'
    $("#codigo").bind("keypress", function(e){
        if(e.keyCode==13){
            //El valor debe ser once, equivalente a la longitud del código Estudiantil
            if($("#codigo").val().length === 11 && isNaN($("#codigo").val())===false){
                consultarEstudiante();  
            } 
            else{
                $("#codigo").focus(); 
            }
            return false;
        }
    });
    
    $('#codigo').blur(function() {
        //El valor debe ser once, equivalente a la longitud del código Estudiantil
        if($("#codigo").val().length === 11 && (isNaN($("#codigo").val()))===false){
        //consultarEstudiante();  
        } 
        else{
            $("#codigo").focus();    
        }
        return false;
    });
 
    
    //Verifica si se clickeo el boton 'Consultar'
    $("#btnConsultarEstudiante").click(function(){
        //El valor debe ser once, equivalente a la longitud del código Estudiantil
        if($("#codigo").val().length === 11 && (isNaN($("#codigo").val()))===false){
            consultarEstudiante();  
        }
        else{
            $("#codigo").focus(); 
        }
        return false;
    });
           
    $("#btnCancelar").click(function(){
        $("#codigo").attr("value","");
        limpiar();
        habilitarCampos();
        return false;
    });
    
    $("#btnAceptar").click(function(){
        //El valor debe ser once, equivalente a la longitud del código Estudiantil
        if($("#codigo").val().length === 11 && (isNaN($("#codigo").val()))===false){
            //Si los formularios estan validados, entonces...
            if($('#frmRegistrarEstudiante').validationEngine('validate')){
                crearEstudiante();            
            }    
        }
        else{
            $("#codigo").focus(); 
        }
        return false;
    });

    
});


//_____________________________________________________________________________________

//Consultar si hay registro de Estudiantes en la tabla "estudiantes"
function consultarEstudiante() {        
    
    //Obtenemos los datos en variables
    var codigo = $("#codigo").val();
    //alert("Codigo= "+codigo)
    var dataString = "codigo="+codigo;
        
    //Enviamos valores con AJAX
    $.ajax({
        async: true,
        dataType: "html",
        type: "POST",
        contentType: "application/x-www-form-urlencoded",
        url: url+"/coordinador/consultarestudiante",
        data: dataString,
        beforeSend: function(data){
            $("#msjconfirmacion").html("<label style='color:blue;'>* Consultando datos...</label>");
        },
        success: function(requestData){
            // alert("Servidor respondio: "+requestData);
            if(requestData == 0){
                $("#msjCodigo").html("<label style='color:green;'>* Estudiante no presenta registros. Disponible para Ingresar.</label>");
                limpiar();
                habilitarCampos();
                
            }else{
                $("#msjCodigo").html("<label style='color:red;'>* El Estudiante ya se encuentra registrado.</label>");
                $('#formCrearBeneficiario').find('.button-next').show();   
                //alert(" Consulta exitosa. ");
                var estudiantes =  procesarRespuesta(requestData);      
                if (!estudiantes)
                {
                    alert("No hay datos de Estudiantes"); 
                    return;
                }
                    
                //LLenamos el formulario de Inscripción con los datos registrados en la Tabla "estudiantes"                    
                $("#carrera").attr("value",estudiantes.codigoProyCurricular);                    
                $("#nombres").attr("value",estudiantes.nombres);
                $("#apellidos").attr("value",estudiantes.apellidos);
                $("#documento").attr("value",estudiantes.nroDocIdentidad);
                $("#tipoDocumento").attr("value",estudiantes.tipoDocIdentidad);
                $("#fechaNacimiento").attr("value",estudiantes.fechaNacimiento);                   
                $("#genero").attr("value",estudiantes.genero);
                $("#email").attr("value",estudiantes.email);                
                $("#ciudadResidencia").chosen().val(estudiantes.idCiudadResidencia).trigger("liszt:updated");
                $("#localidad").attr("value",estudiantes.localidadResidencia);
                $("#barrio").attr("value",estudiantes.barrioResidencia);
                $("#estrato").attr("value",estudiantes.estratoResidencia);
                $("#direccion").attr("value",estudiantes.direccionResidencia);
                $("#telefono").attr("value",estudiantes.telefono);
                $("#celular").attr("value",estudiantes.celular);   
                $("#semestre").attr("value",estudiantes.semestre); 
                inhabilitarCampos();
            }	        
        },
        error: function(requestData, strError, strTipoError){
            alert("Error "+strTipoError+": " + strError);
        },
        complete: function (requestData, exito){}
    });
}

function procesarRespuesta(ajaxResponse)
{ 
    // Observar que aquí asumimos que el resultado es un objeto 
    // serializado en JSON, razón por la cual tomamos este dato
    // y lo procesamos para recuperar un objeto que podamos
    // manejar fácilmente
    if (typeof ajaxResponse == "string"){
        ajaxResponse = $.parseJSON(ajaxResponse); 
    //alert("entro Procesar respuesta");
    }               
    return ajaxResponse;
}

function inhabilitarCampos(){
        
    $("#carrera").attr("disabled",'disabled');
    $("#nombres").attr("disabled",'disabled');
    $("#apellidos").attr("disabled",'disabled');
    $("#documento").attr("disabled",'disabled');
    $("#tipoDocumento").attr("disabled",'disabled');
    //$("#fechaNacimiento").attr("disabled",'disabled');
    $("#genero").attr("disabled",'disabled');
    $("#email").attr("disabled",'disabled');                
    $("#ciudadResidencia").attr("disabled",'disabled');
    $("#localidad").attr("disabled",'disabled');
    $("#barrio").attr("disabled",'disabled');
    $("#estrato").attr("disabled",'disabled');
    $("#direccion").attr("disabled",'disabled');
    $("#telefono").attr("disabled",'disabled');
    $("#celular").attr("disabled",'disabled');
    $("#semestre").attr("disabled",'disabled');
    $("#btnRegistrar").attr("disabled",'disabled');
}
    
function habilitarCampos(){
    
    $("#carrera").removeAttr('disabled');        
    $("#nombres").removeAttr('disabled');        
    $("#apellidos").removeAttr('disabled');        
    $("#documento").removeAttr('disabled');        
    $("#tipoDocumento").removeAttr('disabled');       
    //$("#fechaNacimiento").removeAttr('disabled');        
    $("#genero").removeAttr('disabled');  
    $("#email").removeAttr('disabled');  
    $("#ciudadResidencia").removeAttr('disabled');  
    $("#localidad").removeAttr('disabled');  
    $("#barrio").removeAttr('disabled');  
    $("#estrato").removeAttr('disabled');  
    $("#direccion").removeAttr('disabled');  
    $("#telefono").removeAttr('disabled');  
    $("#celular").removeAttr('disabled');  
    $("#semestre").removeAttr('disabled');  
    $("#btnRegistrar").removeAttr('disabled');  
    
}
    
function limpiar(){
    $("#carrera").attr("value","");
    $("#nombres").attr("value","");
    $("#apellidos").attr("value","");
    $("#documento").attr("value","");
    $("#tipoDocumento").attr("value","");
    $("#fechaNacimiento").attr("value","");
    $("#genero").attr("value","");
    $("#semestre").attr("value",""); 
    //$("#ciudadResidencia").attr("value","");
    $("#ciudadResidencia").chosen().val("").trigger("liszt:updated");
    $("#localidad").attr("value","");
    $("#barrio").attr("value","");
    $("#estrato").attr("value","");
    $("#direccion").attr("value","");
    $("#telefono").attr("value","");
    $("#celular").attr("value","");
    $("#email").attr("value","");
    //$("#msjCodigo").html("");
}

function crearEstudiante(){
    
    var codigo = $("#codigo").val();
    var carrera = $("#carrera").val();
    var nombres = $("#nombres").val();
    var apellidos = $("#apellidos").val();
    var documento = $("#documento").val();
    var tipoDocumento = $("#tipoDocumento").val();
    var fechaNacimiento = $("#fechaNacimiento").val();
    var genero = $("#genero").val();
    var semestre = $("#semestre").val();
    var ciudadResidencia = $("#ciudadResidencia").val();
    var localidad = $("#localidad").val();
    var barrio = $("#barrio").val();
    var estrato = $("#estrato").val();
    var direccion = $("#direccion").val();
    var telefono = $("#telefono").val();
    var celular = $("#celular").val();
    var email = $("#email").val();
    
        
    var dataString = "codigo="+codigo+"&carrera="+carrera+"&nombres="+nombres+"&apellidos="+apellidos+"&documento="+documento+"&tipoDocumento="+tipoDocumento+"&fechaNacimiento="+fechaNacimiento+
    "&genero="+genero+"&semestre="+semestre+"&localidad="+localidad+"&ciudadResidencia="+ciudadResidencia+"&barrio="+barrio+"&estrato="+estrato+"&direccion="+direccion+"&telefono="+telefono+"&celular="+celular+"&email="+email;
     
    //alert("datos a enviar a beneficiario: "+dataString)
    //Enviamos valores con AJAX
    $.ajax({
        async: true,
        dataType: "html",
        type: "POST",
        contentType: "application/x-www-form-urlencoded",
        url: url+"/coordinador/crearestudiante",
        data: dataString,
        beforeSend: function(data){
        //alert("Datos a  enviar"+dataString);
        },
        success: function(requestData){
            //alert("Servidor respondio: "+requestData);
            if(requestData == 0){
                apprise("El registro se ha realizado con éxito");
                location.reload(); 
            }else if(requestData == 1){
                apprise("El Estudiante ya se encuentra registrado");
                location.reload(); 
            }  
        },
        error: function(requestData, strError, strTipoError){
            alert("Error "+strTipoError+": " + strError);
        //location.reload(); 
        },
        complete: function (requestData, exito){
        //alert("Exito");
        }
    });    
}

function agregarRepele(ObjetoTR){
    //alert("Código: "+ObjetoTR.cells[0].childNodes[0].nodeValue +"\nNombres: "+ObjetoTR.cells[1].childNodes[0].nodeValue+"\nCarrera: "+ObjetoTR.cells[2].childNodes[0].nodeValue); 
    /*if(apprise("Confirma entrega para Código: "+ObjetoTR.cells[0].childNodes[0].nodeValue +"\nNombres: "+ObjetoTR.cells[1].childNodes[0].nodeValue+"\nCarrera: "+ObjetoTR.cells[2].childNodes[0].nodeValue,{'confirm':true})){ 
        
        var codigo = 
        alert("Hecho");
        //apprise("Solicitud realizada",{'animate':true});  

    }*/
    
    if(confirm("Confirma entrega para: \nCódigo: "+ObjetoTR.cells[0].childNodes[0].nodeValue +"\nNombres: "+ObjetoTR.cells[1].childNodes[0].nodeValue+"\nDocumento: "+ObjetoTR.cells[2].childNodes[0].nodeValue+"\nCarrera: "+ObjetoTR.cells[4].childNodes[0].nodeValue)){
        
        var codigo = ObjetoTR.cells[0].childNodes[0].nodeValue;
        var dataString = "codigo="+codigo;        
        
        //Enviamos valores con AJAX
        $.ajax({
            async: true,
            dataType: "html",
            type: "POST",
            contentType: "application/x-www-form-urlencoded",
            url: url+"/coordinador/repele",
            data: dataString,
            beforeSend: function(data){
                //alert("Datos en datastring"+dataString);
            },
            success: function(requestData){
                //alert("Servidor respondio: "+requestData);
                if(requestData == 1){
                    apprise("Se ha agregado la asistencia con éxito");
                //location.reload(); 
                }else{
                    apprise("error");
                //location.reload(); 
                }  
            },
            error: function(requestData, strError, strTipoError){
            //alert("Error "+strTipoError+": " + strError);
            //location.reload(); 
            },
            complete: function (requestData, exito){}
        });         
    }        
    else{
        apprise('Solicitud Cancelada!')        
    }
}
    